/**
 * Project Name:zyhj-admin
 * File Name:YjfkxxService.java
 * Package Name:com.vviton.zyhj.admin.service
 * Date:2016年11月29日上午10:24:48
 *
 */

package com.vviton.zyhj.admin.service;

import java.util.List;

import javax.servlet.http.HttpServletResponse;

import com.vviton.zyhj.common.utils.ResultJson;
import com.vviton.zyhj.common.utils.page.Page;
import com.vviton.zyhj.common.view.ParamYjfkxx;
import com.vviton.zyhj.common.view.ViewYjfkxx;
import com.wdcloud.framework.core.log.annotation.MonitorLog;
import com.wdcloud.framework.core.log.entity.MonitorLogInfo;

/**
 * ClassName:YjfkxxService <br/>
 * Function: 意见反馈Service. <br/>
 * Date: 2016年11月29日 上午10:24:48 <br/>
 *
 * @author libo
 * @version
 * @since JDK 1.7
 * @see
 */
public interface YjfkxxService {

    /**
     *
     * selectYjfkxxListByPage,(分页查询意见反馈列表). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月29日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月29日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param paramYjfkxx 意见反馈参数对象
     * @return Page
     * @since JDK 1.7
     */
    @MonitorLog(text = "分页查询意见反馈列表", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    Page selectYjfkxxListByPage(ParamYjfkxx paramYjfkxx);

    /**
     *
     * getFkxxIds,(查询所有的意见反馈的id). <br/>
     * Author: libo <br/>
     * Create Date: 2016年12月2日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年12月2日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param paramYjfkxx 意见反馈参数对象
     * @return List<String>
     * @since JDK 1.7
     */
    @MonitorLog(text = "查询所有的意见反馈的id", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    List<String> getFkxxIds(ParamYjfkxx paramYjfkxx);

    /**
     *
     * getFkxxListByIds,(EXCEL导出选中的意见反馈列表). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月29日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月29日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param ids 选中的ID集合
     * @param res 响应对象
     * @return ResultJson
     * @since JDK 1.7
     */
    @MonitorLog(text = "EXCEL导出选中的意见反馈列表", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ResultJson getFkxxListByIds(String ids, HttpServletResponse res);

    /**
     *
     * getYjfkxxById,(根据ID获取意见反馈的对象信息). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月29日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月29日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param id 意见反馈对象ID
     * @return ViewYjfkxx
     * @since JDK 1.7
     */
    @MonitorLog(text = "根据ID获取意见反馈的对象信息", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ViewYjfkxx getYjfkxxById(String id);

    /**
     *
     * updateYjfkxx,(回复处理意见反馈信息). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月29日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月29日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param paramYjfkxx 编号意见反馈参数对象
     * @param yhzh 用户账号
     * @param yhmc 用户内容
     * @return ResultJson
     * @since JDK 1.7
     */
    @MonitorLog(text = "回复处理意见反馈信息", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ResultJson updateYjfkxx(ParamYjfkxx paramYjfkxx, String yhzh, String yhmc);

    /**
     *
     * deleteYjfkxx,(删除意见反馈信息). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月29日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月29日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param id 编号
     * @param yhzh 用户账号
     * @return ResultJson
     * @since JDK 1.7
     */
    @MonitorLog(text = "删除意见反馈信息", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ResultJson deleteYjfkxx(String id, String yhzh);

    /**
     *
     * getYjfkxxByZh,(拉取该账号下意见数据列表). <br/>
     * Author: libo <br/>
     * Create Date: 2016年12月21日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年12月21日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param fkrzh 反馈人账号
     * @param yhtx 用户头像
     * @param ywy 业务域
     * @return List<ViewYjfkxx>
     * @since JDK 1.7
     */
    @MonitorLog(text = "拉取该账号下意见数据列表", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    List<ViewYjfkxx> getYjfkxxByZh(String fkrzh, String yhtx, String ywy);

}
